package oj_qmfx.oj_05;
import java.util.Scanner;

class SeqList {
    private static final int maxSize = 10;//顺序表的长度不超过10
    private int[] data;
    private int length;

    // 默认构造函数
    public SeqList( ){
        /* 开辟顺序表空间 */
        data = new int[maxSize];
        /* 设置长度为 0 */
        length = 0;
    }

    // 带参构造函数
    public SeqList(int a[], int n) {
        /* 如果超出线性表的最大容量，则构建失败，直接返回(不用输出错误信息) */
        if (n > maxSize){
            return;
        }
        /* 开辟顺序表空间 */
        data = new int[maxSize];
        /* 传入一个长度为n的数组a，初始化线性表 */
        for (int i =0 ; i<n;i++){
            data[i] = a[i];
        }
        length = n;
    }

    // 输出线性表
    public void printList( ) {
        /* 如果线性表为空或超出容量，则什么都不输出 */
        if (length == 0 || length > maxSize){
            return;
        }
        /* 线性表元素每两个之间用空格隔开，最后一个元素后没有空格，然后换行 */
        for (int i = 0;i < length; i++){
            if (i == length - 1){
                System.out.println(data[i]);
            }else {
                System.out.print( data[i] + " ");
            }
        }

    }

    // 返回线性表是否为空
    public boolean isEmpty( ) {
        /* 空则返回true，非空则返回false*/
        return length == 0;
    }

    /* 按位查找：返回线性表第i个元素 */
    public int getElement (int i){
        /* 位置从1开始计数，下标从0开始计数，若线性表中不存在位置i，返回-1(不用输出错误信息) */
        if (isEmpty()){
            return -1;
        }
        if (i > length || i<1){
            return -1;
        }
        return data[i-1];
    }

    /* 按值查找：返回元素x第一次出现的位置 */
    public int locate(int x ){
        /* 位置从1开始计数，下标从0开始计数，若线性表中没有元素x，返回-1(不用输出错误信息) */
        if (isEmpty()){
            return -1;
        }
        for (int i = 0; i < length; i++) {
            if (data[i] == x){
                return i + 1;
            }
        }
        return -1;
    }

    /*插入元素*/
    public void insert(int i, int x){
        if (length >= maxSize){
            return;
        }
        if (i < 1 || i>length + 1){
            return;
        }
//        要从最后开始遍历
        for (int j = length; j >= i; j-- ){
            data[j] = data[j-1];
        }
        data[i - 1] = x;
        length++;
    }

//    删除元素
    public int Delete(int i){
        if (isEmpty()){
            return -1;
        }
        if (i < 1 || i > length){
            return -1;
        }
        int x;
        x = data[i - 1];
        for (int j = i; j < length; j++){
            data[j - 1] = data[j];
        }
        length--;
        return x;
    }

};

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int[] a =  new  int[n];
        for (int i = 0;i < n; i++){
            a[i]  = scanner.nextInt();
        }
        SeqList seqList = new SeqList(a, n);
        for (int i = 0;i < m;i++){
            int x = scanner.nextInt();
            int res = seqList.Delete(x);
            System.out.print(res + "#");
            seqList.printList();
        }

        scanner.close();
    }
}